package com.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import com.entity.Article;

/**
 * @author MingCha Yang
 */
public interface ArticleMapper {

	/**
	 * 显示最新几条文章(文章id大的算最新)
	 *
	 * @param limit 文章个数
	 * @return 文章列表
	 */
	public List<Article> listRecentArticle(@Param("limit") Integer limit);

	/**
	 * 获得文章总数目
	 *
	 * @return 数目
	 */
	public int getArticleCounts();

	/**
	 * 根据文章Id获得文章
	 *
	 * @param id 文章id
	 * @return 文章信息
	 */
	public Article getArticleById(Integer id);

	/**
	 * 获得文章列表
	 *
	 * @return 获得文章列表
	 */
	public List<Article> findAll();

	/**
	 * 添加
	 *
	 * @param article 文章
	 */
	public int addArticle(Article article);

	public int addArticleCategory(@Param("articleId") Integer articleId, @Param("categoryId") Integer categoryId);

	public int addArticleTag(@Param("articleId") Integer articleId, @Param("tagId") Integer tagId);

	/**
	 * 删除
	 *
	 * @param id 文章id
	 */
	public void deleteArticle(Integer id);

	/**
	 * 修改
	 *
	 * @param article 文章
	 */
	public void updateArticle(Article article);

	/**
	 * 根据分类Id获得文章数量
	 *
	 * @param categoryId 分类的Id
	 * @return 文章的数量
	 */
	public Integer getCountsBycategoryId(Integer categoryId);

	/**
	 * 根据用户Id获得文章数量
	 *
	 * @param userId 用户的Id
	 * @return 文章的数量
	 */
	public Integer getCountsByuserId(Integer userId);
}
